package com.adtech.adms.commons;

import java.util.HashMap;
import java.util.Map;

/**
 * 
 * 异常错误消息
 * @author Dormin 
 * @since 2011-11-9 
 * 
 * @Copyright (C) AD Tech Workshop All Right Reserved
 */
public class ErrorMessage {
	private static Map<Integer, String> msg = new HashMap<Integer, String>();

	static {
		
		/**
		 * 配置平台
		 */
		msg.put(ErrorCode.DATA_DUPLICATE_SUBMIT, "数据已经提交，请耐心等待！");
		
		/**
		 *	基础数据 
		 */
		msg.put(ErrorCode.FOUNDATION_POWER_TCRL_FORMATTER, "投产容量(MW)不能为空！");
		msg.put(ErrorCode.FOUNDATION_POWER_TCRLGC_FORMATTER, "投产容量构成(MW)不能为空！");
		msg.put(ErrorCode.FOUNDATION_POWER_HZJD_EMPTY, "核准进度不能为空！");
		msg.put(ErrorCode.FOUNDATION_POWER_HZJD_FORMATTER, "核准进度不是合法值！");
		msg.put(ErrorCode.FOUNDATION_POWER_JSJD_EMPTY, "建设进度不能为空！");
		msg.put(ErrorCode.FOUNDATION_POWER_JSJD_FORMATTER, "建设进度不是合法值！");
		msg.put(ErrorCode.FOUNDATION_PUB_ERR_LINE_REF, "线路依赖于电厂和变电站，必须先发布电厂和变电站数据，才能发布线路数据！");
		msg.put(ErrorCode.FOUNDATION_SYNCHRONIZATION_ERROR, "无法找到目标服务器，同步数据失败！");
		msg.put(ErrorCode.TEMPLATE_DELETE_ERROR, "所选模板为上级单位创建，不能删除！");
		msg.put(ErrorCode.TEMPLATE_SAVE_ERROR, "所属业务对象已经被引用，不能保存！");	
		/**
		 * 登录、数据字典、系统管理模块
		 */
		msg.put(ErrorCode.USER_PWD_NOT_MATCH, "用户名不存在或密码错误！");
		msg.put(ErrorCode.USER_NOT_EXIST, "用户名不存在或密码错误！");
		msg.put(ErrorCode.USER_NOT_ALLOWED, "非法登录！");
		msg.put(ErrorCode.USER_LOGIN_NAME_DUPLICATE, "登录名已存在！");
		msg.put(ErrorCode.REGION_HAS_CHILDREN, "请先删除所属地区信息，再删除本地区！");
		msg.put(ErrorCode.REGION_HAS_COMPANY, "请先删除相关单位信息，再删除地区信息！");
		msg.put(ErrorCode.TIME_LIMIT_DUPLICATE, "典型工期不能重复！");
		msg.put(ErrorCode.DATA_TYPE_NOT_EXIST, "数据类型不存在");
		msg.put(ErrorCode.DATA_ITEM_DUPLICATE, "{0}不能重复！");
		msg.put(ErrorCode.DEPARTMENT_HAS_USER, "请先删除相关用户信息，再删除部门信息！");
		msg.put(ErrorCode.COMPANY_HAS_DEPARTMENT, "请先删除相关部门信息，再删除单位信息！");
		//msg.put(ErrorCode.NOT_SELF_CIRCLE, "不能选择当前节点的下级节点作为上级节点！");
		msg.put(ErrorCode.NOT_SELF_CIRCLE_COMPANY, "不能选择当前单位的下级单位作为上级单位！");
		msg.put(ErrorCode.NOT_SELF_CIRCLE_DEPARTMENT, "不能选择当前部门的下级部门作为上级部门！");
		msg.put(ErrorCode.NOT_SELF_CIRCLE_REGION, "不能选择当前地区的下级地区作为上级地区！");
		msg.put(ErrorCode.COMPANY_DUPLICATE, "单位名称不能重复！");
		msg.put(ErrorCode.COMPANY_CODE_DUPLICATE, "单位编码不能重复！");
		msg.put(ErrorCode.DEPARTMENT_DUPLICATE, "部门名称不能重复！");
		msg.put(ErrorCode.POST_DUPLICATE, "职位名称不能重复！");
		msg.put(ErrorCode.REGION_DUPLICATE, "地区名称不能重复！");
		msg.put(ErrorCode.ROLE_DUPLICATE, "角色名称不能重复！");
		msg.put(ErrorCode.ROLE_HAS_USER, "请先删除相关用户信息，再删除角色信息！");
		msg.put(ErrorCode.POST_HAS_USER, "请先删除相关用户信息，再删除职位信息！");
		msg.put(ErrorCode.FEATURE_DUPLICATE, "功能模块不能重复！");
		msg.put(ErrorCode.DELETE_DATA_DIC_ERROR, "删除数据字典出现错误！");
		msg.put(ErrorCode.DELETE_DATA_TARGET_ERROR, "指标配置项已经被规划指标所引用，请先删除对应的规划指标！");
		
		/**
		 * 规划
		 */
		msg.put(ErrorCode.PROJECT_FILE_NOT_EXIST, "文件不存在！");
		msg.put(ErrorCode.PROJECT_FILE_DOWNLOAD_ERROR, "下载文件失败！");
		msg.put(ErrorCode.PROJECT_FILE_PAY_ERROR, "已拨付费用不能大于计划总费用！");
		msg.put(ErrorCode.PLAN_TASK_LIBRARY_REPORT_ERROR, "不能执行该操作，下级规划专题库还未上报！");
		msg.put(ErrorCode.PLAN_TASK_LIBRARY_OPEN_ERROR, "不能执行该操作，上级规划专题库已经关闭！");
		msg.put(ErrorCode.PLAN_TASK_LIBRARY_OPEN_SUBMIT_ERROR, "不能执行该操作，上级规划专题库已经下达！");
		msg.put(ErrorCode.CONFIG_PLANPROJECT_BATCHSURE, "已下达的专题库不能有重新立项或续建功能！");
		msg.put(ErrorCode.PLAN_TASK_LIBRARY_CONFIG_ENDDATE_ERROR, "截止时间不应晚于上级专题库的截止时间（{0}）！");
		msg.put(ErrorCode.PROJECT_ITEM_PAY_ERROR, "投资测算的总和应等于总投资！");
	    msg.put(ErrorCode.PROJECT_PROJECTAPPROVALTEXT_ERROR, "请上传项目立项申请书！");
	    msg.put(ErrorCode.PROJECT_REVIEW_ERROR, "请上传专题批文！");
	    msg.put(ErrorCode.PROJECT_RESTATE, "下级规划专题库没有下达，不能执行微调计划！");
	    
		// msg.put(ErrorCode.PROJECT_CHILD_NOT_OVER, "子任务尚未进通过评审，当前任务不能提交");
		// msg.put(ErrorCode.PROJECT_TASK_ID_ERROR, "获取任务异常！");
//		msg.put(ErrorCode.PROJECT_FILE_ATTCHMENT_ERROR, "附件获取异常！");

		/**
		 * 并网业务（电厂、用户）
		 */
//		msg.put(ErrorCode.POWERCONSUMER_NOT_EXIST, "电厂用户项目不存在！");
//		msg.put(ErrorCode.POWERCONSUMER_PROJECT_NAME_DUPLICATE, "电厂用户项目名称重复！");
//		msg.put(ErrorCode.POWERCONSUMER_FILE_NOT_EXIST, "文件不存在！");
//		msg.put(ErrorCode.POWERCONSUMER_DOWNLOAD_FILE_ERROR, "下载文件失败！");
//		msg.put(ErrorCode.POWERCONSUMER_EXPORT_ERROR, "导出文件失败！");
//		msg.put(ErrorCode.POWERCONSUMER_IMPORT_ERROR, "导入文件失败！");
//		msg.put(ErrorCode.POWERCONSUMER_DOWNLOAD_TEMPLATE_ERROR, "模版下载失败！");
//		msg.put(ErrorCode.POWERCONSUMER_ELECTRIC_RAILWAY_NOT_EXIST, "牵引站所在的电铁项目不存在！");
		msg.put(ErrorCode.POWERCONSUMER_NOT_PREPROJECT, "未找到对应的前期项目！");
		

		/**
		 * 前期项目
		 */
		msg.put(ErrorCode.PREPROJECT_NOT_EXIST, "前期项目不存在！");
		msg.put(ErrorCode.PREPROJECT_INTO_INVESTMENT, "进入投资计划预备库失败！");
		msg.put(ErrorCode.PREPROJECT_LINK_ROADTIP_ERROR, "添加关联项目失败！");
		msg.put(ErrorCode.ROADTIP_IS_NULL, "删除路条失败！");
		msg.put(ErrorCode.ROADTIP_DELETE_ERROR, "该路条有关联项目，请先取消该路条所关联的项目，再删除该路条！");
		msg.put(ErrorCode.APPROVAL_LOCATIONSTATUS, "选址未批复，不能执行核准上报操作！");
		msg.put(ErrorCode.APPROVAL_STUDYSTATUS, "可研未批复，不能执行核准上报操作！");
		msg.put(ErrorCode.APPROVAL_COMPLETEENVIRONMENT, "实际完成环评报告时间、存储说明为空，不能执行核准上报操作！");
		msg.put(ErrorCode.APPROVAL_ENVIRONMENTAPPROVAL, "实际环评批复时间、有效截止时间、电子文件、文号为空，不能执行核准上报操作！");
		msg.put(ErrorCode.APPROVAL_COMPLETEWATER, "实际完成水保报告时间、存储说明为空，不能执行核准上报操作！");
		msg.put(ErrorCode.APPROVAL_WATERAPPROVAL, "实际水保批复时间、有效截止时间、电子文件、文号为空，不能执行核准上报操作！");
		msg.put(ErrorCode.APPROVAL_LOCATIONREVIEWOPINION, "实际变电站用地预审意见时间、有效截止时间、电子文件、文号为空，不能执行核准上报操作！");
		msg.put(ErrorCode.APPROVAL_LOCATIONREVIEWOPINION_GD, "实际省国土厅变电站用地预审初审意见时间、有效截止时间、电子文件、文号为空，不能执行核准上报操作！");
		msg.put(ErrorCode.APPROVAL_TAKILAND, "实际塔基用地预审时间、有效截止时间、电子文件、文号为空，不能执行核准上报操作！");
		msg.put(ErrorCode.APPROVAL_SUBMITAPPROVALREPORT, "核准上报存储说明为空，不能执行核准上报操作！");
		msg.put(ErrorCode.APPROVAL_SUBMITPLANLOCATION, "实际提交规划选址方案时间、电子文件为空，不能执行核准上报操作！");
		msg.put(ErrorCode.APPROVAL_LOCATIONOPINION, "实际选址初审意见时间、有效截止时间、电子文件为空，不能执行核准上报操作！");
		msg.put(ErrorCode.APPROVAL_SUBSTATION, "实际选址意见书批复时间、有效截止时间、电子文件、文号为空，不能执行核准上报操作！");
		msg.put(ErrorCode.APPROVAL_CREDIT, "实际贷款承诺函时间、电子文件、文号为空，不能执行核准上报操作！");
		msg.put(ErrorCode.APPROVAL_AGREEAPPROVAL, "实际同意上报核准意见时间、电子文件、文号为空，不能执行核准上报操作！");
		msg.put(ErrorCode.ROADTIP, "没有取得路条批文，不能执行核准上报操作！");
		msg.put(ErrorCode.ROADTIP_CODE, "请填写路条文号后，再次核准上报！");
		msg.put(ErrorCode.ENERGYASSESSMENTVIEWS, "实际节能评估意见时间、电子文件、文号为空，不能执行核准上报操作！");
		msg.put(ErrorCode.ENERGYASSESSMENTVIEWS2, "实际节能评估报告时间、电子文件为空，不能执行核准上报操作！");
		msg.put(ErrorCode.ASSESSMENTS, "实际评估意见时间、电子文件为空，不能执行核准上报操作！");
		msg.put(ErrorCode.IMPORTANT_CHECK, "所选项目中包含包类型项目，不能执行该操作！");
		msg.put(ErrorCode.HPCS_PRENODE_CODE, "获得环评初审意见文号为空，不能执行核准上报操作！");
		msg.put(ErrorCode.SBCS_PRENODE_CODE, "获得水保初审意见文号为空，不能执行核准上报操作！");
		msg.put(ErrorCode.BDZYDYSCS_PRENODE_CODE, "市国土局变电站用地预审初审意见文号为空，不能执行核准上报操作！");
		
		msg.put(ErrorCode.OBTAIN_SITE_WRITTEN_COMMENTS_CODE, "取得选址书面意见文号为空，不能执行核准上报操作！");
		msg.put(ErrorCode.LINE_PATH_REPLY_CODE, "取得线路路径复函文号为空，不能执行核准上报操作！");

		msg.put(ErrorCode.STUDY_NORMALWATERLEVEL, "实际正常蓄水位专题时间、电子文件、文号为空，不能执行可研评审操作！");
		msg.put(ErrorCode.HUBPATTERN, "实际枢纽总格局时间、电子文件、文号为空，不能执行可研评审操作！");
		msg.put(ErrorCode.CONSTRUCTIONLAYOUT, "实际施工总布置时间、电子文件、文号为空，不能执行可研评审操作！");
		msg.put(ErrorCode.LANDRESETLEMENTRULE, "实际建设征地移民安置大纲时间、电子文件、文号为空，不能执行可研评审操作！");
		msg.put(ErrorCode.LANDRESETLEMENTPLAN, "实际建设征地移民安置规划时间、电子文件、文号为空，不能执行可研评审操作！");
		msg.put(ErrorCode.FEASIBLEREPORTFILE, "可研上报存储说明为空，不能执行可研上报操作！");
		
		msg.put(ErrorCode.GEOLOGICALHAZARDEVALUATION, "实际地质灾害危险性评价时间、电子文件、文号为空，不能执行可研评审操作！");
		msg.put(ErrorCode.EARTHQUAKESAFETYEVALUATION, "实际工程场地地震安全性评价时间、电子文件、文号为空，不能执行可研评审操作！");
		msg.put(ErrorCode.CONSTRUCTIONLANDPRESSUREOVERLYINGMINERALRESOURCES, "实际建设用地压覆矿产资源时间、电子文件、文号为空，不能执行可研评审操作！");
		msg.put(ErrorCode.ENGINEERINGCONSTRUCTIONCULTURALRELICSSURVEY, "实际工程建设文物调查时间、电子文件、文号为空，不能执行可研评审操作！");
		msg.put(ErrorCode.EARTHQUAKESEISMICSAFETYEVALUATION, "实际防震抗震安全评价时间、电子文件、文号为空，不能执行可研评审操作！");
		msg.put(ErrorCode.APPROVAL_COMPLETEENVIRONMENT_STUDY, "实际完成环评报告时间和存储说明为空，不能执行可研评审操作！");
		msg.put(ErrorCode.APPROVAL_ENVIRONMENTAPPROVAL_STUDY, "实际环评批复时间、电子文件、文号为空，不能执行可研评审操作！");
		msg.put(ErrorCode.APPROVAL_COMPLETEWATER_STUDY, "实际完成水保报告时间和存储说明为空，不能执行可研评审操作！");
		msg.put(ErrorCode.APPROVAL_WATERAPPROVAL_STUDY, "实际水保批复时间、电子文件、文号为空，不能执行可研评审操作！");
		msg.put(ErrorCode.DESIGNREPORTNODESCCESSSYSTEM, "实际接入系统设计报告时间、电子文件为空，不能执行可研评审操作！");
		msg.put(ErrorCode.ACCESSSYSTEMDESIGNAPPROVAL, "实际接入系统设计方案批复时间、电子文件、文号为空，不能执行可研评审操作！");
		msg.put(ErrorCode.WATERRESOURCESASSESSMENTREPORT, "实际水资源论证报告时间、电子文件为空，不能执行可研评审操作！");
		msg.put(ErrorCode.WATERPERMITAPPLICATIONFORAPPROVALOFDOCUMENTS, "实际取水许可申请批准文件时间、电子文件、文号为空，不能执行可研评审操作！");
		msg.put(ErrorCode.WATERENGINEERINGPLANNINGREPORT, "实际水工程规划报告时间、电子文件为空，不能执行可研评审操作！");
		msg.put(ErrorCode.WATERENGINEERINGPLANNINGCONSENTAPPROVALDOCUMENTS, "实际水工程规划同意书批准文件时间、电子文件、文号为空，不能执行可研评审操作！");
		msg.put(ErrorCode.FLOODCONTROLEVALUATIONREPORT, "实际防洪评价报告时间、电子文件为空，不能执行可研评审操作！");
		msg.put(ErrorCode.RIVERADMINISTRATIONCONSTRUCTIONPROJECTSPERMISSION, "实际河道建设项目水行政许可书时间、电子文件、文号为空，不能执行可研评审操作！");
		msg.put(ErrorCode.APPROVAL_SUBSTATION_STUDY, "实际选址意见书批复时间、电子文件、文号为空，不能执行可研评审操作！");
		msg.put(ErrorCode.PRECONSTRUCTIONLAND, "实际建设用地预审时间、电子文件、文号为空，不能执行可研评审操作！");
		msg.put(ErrorCode.ENGINEERINGSAFETYPREASSESSMENTREPORT, "实际工程安全预评价报告时间、电子文件为空，不能执行可研评审操作！");
		msg.put(ErrorCode.PREEVALUATIONSAFETYWORKSRECORD, "实际工程安全预评价备案函时间、电子文件、文号为空，不能执行可研评审操作！");
		msg.put(ErrorCode.STATIONSITEINVOLVESNATURERESERVEADJUSTMENT, "实际站址涉及自然保护区调整时间、电子文件、文号为空，不能执行可研评审操作！");
		msg.put(ErrorCode.STATIONSITEINVOLVESSTRICTCONTROLECOLOGICALZONEADJUSTMENT, "实际站站址涉及生态严控区调整时间、电子文件、文号为空，不能执行可研评审操作！");
		msg.put(ErrorCode.RESERVOIRINUNDATIONANDCONSTRUCTIONLANDACQUISITIONRANGEINVESIGATIONRULES, "实际水库淹没及建设征地范围及实物指标调查细则时间、电子文件为空，不能执行可研评审操作！");
		msg.put(ErrorCode.PRESENTEDBANNINGCONSTRUCTIONNOTICE, "实际颁发“禁建令”通告时间、电子文件为空，不能执行可研评审操作！");
		msg.put(ErrorCode.PHYSICALINDICATORSFIELDSURVEY, "实际实物指标现场调查时间、电子文件为空，不能执行可研评审操作！");
		msg.put(ErrorCode.PHYSICALINDICATORSPUBLICCHECK, "实际实物指标公示、复核时间、电子文件为空，不能执行可研评审操作！");
		msg.put(ErrorCode.CONFIRMPHYSICALINDICATORSANDOVERALLPROGRAMRESETTLEMENT, "实际确认实物指标和移民安置总体方案时间、电子文件为空，不能执行可研评审操作！");
		msg.put(ErrorCode.LOCALGOVERNMENTSTOSETTHECOMPENSATIONSTANDARD, "实际与地方政府谈定补偿标准时间、电子文件为空，不能执行可研评审操作！");
		msg.put(ErrorCode.THERESETTLEMENTPOINTCONSTRUCTIONSTART, "实际移民安置点建设启动时间、电子文件为空，不能执行可研评审操作！");
		msg.put(ErrorCode.MUNICIPALLANDANDRESOURCESBUREAUOFLANDUSEPREEXAMINATIONOPINION, "实际市级国土局用地预审意见时间、电子文件、文号为空，不能执行可研评审操作！");
		msg.put(ErrorCode.FORESTRYLANDFEASIBILITYSTUDYREPORT, "实际林业用地可行性研究报告时间、电子文件、文号为空，不能执行可研评审操作！");
		msg.put(ErrorCode.ENGINEERINGSAFETYMONITORINGDESIGN, "实际工程安全监测设计时间、电子文件为空，不能执行可研批复操作！");
		
		msg.put(ErrorCode.COMPANYEVALUATIONPROJECTAPPLICATIONREPORT, "实际中咨公司评估项目申请报告时间、电子文件为空，不能执行核准上报操作！");
		msg.put(ErrorCode.COMPANIESREPORTEDEVALUATIONOPINIONS, "实际中咨公司上报评估意见时间、电子文件为空，不能执行核准上报操作！");
		msg.put(ErrorCode.OBTAINSNDRCOPINION, "实际取得国家发改委意见时间、电子文件为空，不能执行核准上报操作！");
		msg.put(ErrorCode.GETSTATEEXAMINATIONANDAPPROVALOPINIONS, "实际取得国务院常务会议审批意见时间、电子文件为空，不能执行核准上报操作！");
		msg.put(ErrorCode.LOCAL_CHECKOPINIONS_CODE, "获得站址用地预审文号、有效截止时间为空，不能执行核准上报操作！");
		
		
		
		msg.put(ErrorCode.CREATEBAG, "所选规划项目规划总投资与该包全部项目的规划总投资大于下达时规划总投资，不能新建项目！");
		msg.put(ErrorCode.DELPREPROJECT, "该项目已经开展可研工作，不能删除项目！");
		msg.put(ErrorCode.DOUBLEBAGNAME, "该项目包已经存在重名项目包，不能新建项目包！");
		msg.put(ErrorCode.PREPROJECTDELERRORCODE, "不是建设单位，不能删除该前期项目！");
		msg.put(ErrorCode.PREPROJECT_DEL_ERROR_CODE_PART, "不能删除已经被拆分的前期项目！");
		msg.put(ErrorCode.PREPROJECT_RESTORE_ERROR_CODE, "不是建设单位，不能恢复该前期项目！");
		msg.put(ErrorCode.PRE_PROJECT_CREATE_ERROR, "创建前期项目报错！");
		msg.put(ErrorCode.PRE_PROJECT_GROUP_SAVE_ERROR,"该项目组名称已经存在，请使用其他项目组名称！");
		
		msg.put(ErrorCode.PREPROJECT_STOP, "{0}");

		//		msg.put(ErrorCode.LANDRESETLEMENTPLANBEFORELANDRESETLEMENTRULE,
//				"建设征地移民安置规划实际时间早于建设征地移民安置大纲实际时间，不能进行\"可研上报\"操作！");
//		msg.put(ErrorCode.LANDRESETLEMENTRULEBEFORECONSTRUCTIONLAYOUT,
//				"建设征地移民安置大纲实际时间早于施工总布置实际时间，不能进行\"可研上报\"操作！");
//		msg.put(ErrorCode.CONSTRUCTIONLAYOUTBEFOREHUBPATTERN, "施工总布置实际时间早于枢纽总格局实际时间，不能进行\"可研上报\"操作！");
//		msg.put(ErrorCode.HUBPATTERNBEFORENORMALWATERLEVEL, "枢纽总格局实际时间早于正常蓄水位专题实际时间，不能进行\"可研上报\"操作！");
		
		msg.put(ErrorCode.NOININVENT,"{0}");
//		msg.put(ErrorCode.PREPROJECT_DUPLICATE, "前期项目重复！");
//		msg.put(ErrorCode.PREPROJECT_WORK_FLOW_ERROR, "前期项目流程错误！");
//		msg.put(ErrorCode.PREPROJECT_DOWNLOAD_TEMPLATE_ERROR, "模版下载失败！");
//		msg.put(ErrorCode.PREPROJECT_FILE_NOT_EXIST, "文件不存在！");
		
		msg.put(ErrorCode.PREPROJECT_SAVE,"{0}");
		
		
		
		/**
		 * 前期批次库
		 */
		msg.put(ErrorCode.BATCH_DEL, "{0}");
		msg.put(ErrorCode.PRE_PLAN_BATCH_TRANSMIT_ERROR, "{0} 中没有计划信息，不能执行下达操作！");
		msg.put(ErrorCode.PREPROJECTBATCH_OPEN_CHECK_ERROR, "{0} 中计划信息尚未下达完，批次库不能被开启！");
		/**
		 * 前期计划
		 */
		msg.put(ErrorCode.PRE_PLAN_CREATE_ERROR, "新建前期计划失败！");
		msg.put(ErrorCode.PRE_PLAN_ADJUSTMENT_ERROR, "前期计划微调失败！");
		msg.put(ErrorCode.PRE_PLAN_TURNUP_ERROR, "前期计划可研调整失败！");
		msg.put(ErrorCode.PREPROJECTBATCH_TRANSMIT_ERROR, "评审意见未上传，不能执行下达操作！");
		msg.put(ErrorCode.PRE_PLAN_SUBMIT_ERROR, "{0}");
		msg.put(ErrorCode.PREPROJECTBATCH_TRANSMIT_PROJECT_ERROR, "批次下达失败！");
		msg.put(ErrorCode.PREPROJECTBATCH_DELETE_ERROR, "请先删除该批次下的前期计划及前期项目,再删除该批次！");
		msg.put(ErrorCode.PREPROJECTBATCH_OPEN_ERROR, "不能执行该操作，上级批次已经关闭！");
		msg.put(ErrorCode.PREPROJECTBATCH_OPEN_SUBMIT_ERROR, "不能执行该操作，上级批次已经下达！");
		msg.put(ErrorCode.PRE_PLAN_BATCH_SUBMIT_ERROR, "{0} 中没有计划信息，不能执行上报操作！");
		msg.put(ErrorCode.PLAN_ITEM_CODE_HAS_ERROR, "项目编码重复！");
		msg.put(ErrorCode.PRE_PLAN_NOT_EXIST, "前期计划不存在！");
		msg.put(ErrorCode.PRE_PLAN_IS_EXIST, "{0} 已经被新建！");
		
//		msg.put(ErrorCode.PRE_PLAN_DUPLICATE, "指定单位下已存在此电压等级、工程性质和名称的前期计划！");
//		msg.put(ErrorCode.PRE_PLAN_CREATE_PRE_PROJECT_ERROR, "前期计划下达为前期项目失败！");
		msg.put(ErrorCode.PRE_PLAN_CARRYDOWN_ERROR, "前期计划结转失败！");
		msg.put(ErrorCode.PRE_PLAN_DELETE_ERROR, "{0}");
		
		
//
//		/**
//		 * 前期节点配置
//		 */
//		msg.put(ErrorCode.CONFIGNODE_NOT_EXIST, "前期节点配置不存在！");
//		msg.put(ErrorCode.CONFIGNODE_DUPLICATE, "前期节点配置重复！");
//
//		/**
//		 * 项目前期计划库
//		 */
//		msg.put(ErrorCode.PREPROJECTBATCH_LIBRARY_NOT_EXIST, "批次库不存在！");
//		msg.put(ErrorCode.PREPROJECTBATCH_BATCH_ERROR, "达到系统定义的最大批次！");
//		msg.put(ErrorCode.PREPROJECTBATCH_REPORT_ERROR, "下级单位还未上报！");

		/**
		 * 配置引擎
		 */
		msg.put(ErrorCode.CONFIG_ERROR_SYSTEM, "系统错误！");
		msg.put(ErrorCode.CONFIG_ERROR_DUPLICATE, "配置错误！");
		msg.put(ErrorCode.CONFIG_POJO_DUPLICATE, "该业务已存在！");
		msg.put(ErrorCode.CONFIG_POJO_DUPLICATE_ERROR, "{0}重复，该专题/项目已存在！");
		msg.put(ErrorCode.DRVIE_STATE_LOST, "当前状态已经过时，请刷新页面！");
//		msg.put(ErrorCode.CONFIG_ERROR_EXPORT, "导出文件必须配置！");
		msg.put(ErrorCode.CONFIG_STATSTIC_ROW_SPAN_TYPE, "该统计分类{0}的跨行数配置错误，应该为\"0\"！");
		msg.put(ErrorCode.CONFIG_STATSTIC_ROW_SPAN_TYPE_DIMESION, "该统计分类{0}的行依赖分类配置错误，不能依赖横向排列的统计分类！");
		msg.put(ErrorCode.CONFIG_STATSTIC_COL_SPAN_TYPE_DIMESION, "该统计分类{0}的列依赖分类配置错误，不能依赖纵向排列的统计分类！");
		msg.put(ErrorCode.CONFIG_STATSTIC_DIMESION_RESULT_NULL, "统计结果出现错误，该统计分类{0}没有对应的结果集！");
		msg.put(ErrorCode.CONFIG_STATSTIC_ITEM_RESULT_NULL, "统计结果出现错误，该统计项{0}没有对应的结果集！");
		msg.put(ErrorCode.CONFIG_STATSTIC_CONFIG_ERROR, "统计配置出现错误，{0}！");

		/**
		 * 数据同步
		 */
		msg.put(ErrorCode.SYNC_GET_NODE_KEY_ERROR, "解析同步配置失败！");
		msg.put(ErrorCode.SYNC_ERROR, "业务交互失败，请确认需交互的数据库是否正常！");

		/**
		 * 导入
		 */
		msg.put(ErrorCode.IMPORT_FILE_ERROR, "导入出现错误！");
		msg.put(ErrorCode.READ_IMPORT_FILE_FAIL, "读取导入文件失败！请确认导入的文件格式是否正确！");
		msg.put(ErrorCode.UPLOAD_IMPORT_FILE_FAIL, "上传导入文件失败！");
		msg.put(ErrorCode.IMPORT_FILE_FORMAT_ERROR, "请使用正确的导入文件模板！");
		msg.put(ErrorCode.IMPORT_FILE_TOO_LONG, "{0}长度不能超过{1}个字符！");
		msg.put(ErrorCode.IMPORT_FILE_NOT_YEAR, "不是合法的年份格式！年份格式应为YYYY，例如2012");
		msg.put(ErrorCode.IMPORT_FILE_YEAR_MAX, "年份不能大于{0}！");
		msg.put(ErrorCode.IMPORT_FILE_YEAR_MIN, "年份不能小于{0}！");
		msg.put(ErrorCode.IMPORT_FILE_OVER_SCOPE, "取值范围应为{0}！");
		msg.put(ErrorCode.IMPORT_FILE_NOT_DATE, "不是合法的日期格式(yyyy-MM-dd)！");
		msg.put(ErrorCode.IMPORT_FILE_NOT_NULL, "取值不能为空！");
		msg.put(ErrorCode.IMPORT_FILE_NOT_TARGETN, "指标配置中不存在该指标名称！");
		msg.put(ErrorCode.IMPORT_FILE_NOT_TARGET, "指标类型不正确！");
		msg.put(ErrorCode.IMPORT_FILE_COMPER, "所属单位应与登录用户单位一致！");
		msg.put(ErrorCode.IMPORT_FILE_YEAR_SCOPE, "年份应大于{0}并且小于{1}！");
		msg.put(ErrorCode.IMPORT_FILE_DATAFORMAT_ERROR, "取值格式应为{0}！");
		
		
		
		msg.put(ErrorCode.CREATE_CLASS_ERROR, "创建类失败！");
		msg.put(ErrorCode.CREATE_HBM_ERROR, "创建hbm文件失败！");
		msg.put(ErrorCode.CREATE_TABLE_ERROR, "创建表失败！");
		msg.put(ErrorCode.CREATE_FIELD_ERROR, "创建字段失败！");
		msg.put(ErrorCode.CREATE_COLUMN_ERROR, "创建数据列失败！");
		msg.put(ErrorCode.UPDATE_CLASS_ERROR, "修改类失败！");
		msg.put(ErrorCode.IMPORT_FILE_BASE_DYDJ, "接入电压等级不能为空！");
		msg.put(ErrorCode.IMPORT_FILE_BASE_JRBDZ, "接入变电站不能为空！");
		msg.put(ErrorCode.IMPORT_FILE_BASE_BZRL, "报装容量不能为空！");
		msg.put(ErrorCode.IMPORT_FILE_BASE_ZCFH, "正常负荷不能为空！");
		msg.put(ErrorCode.IMPORT_FILE_BASE_ZDFH, "最大负荷不能为空！");
		msg.put(ErrorCode.IMPORT_FILE_BASE_ZXFH, "最小负荷不能为空！");
		msg.put(ErrorCode.IMPORT_FILE_BASE_TCSJ, "投产时间不能为空或者不是合法的日期格式！");
		
		/**
		 * 可研批次库
		 */
		msg.put(ErrorCode.FEA_BATCH_TRANSMIT_ERROR, "可研批次库下达失败！");
		msg.put(ErrorCode.FEA_BATCH_INTO_ERROR, "列入可研批次库失败！");
		msg.put(ErrorCode.FEA_BATCH_REMOVE_ERROR, "项目从可研批次库移除失败！");
		msg.put(ErrorCode.FEA_BATCH_SUBMIT_ERROR, "可研上报失败！");
		msg.put(ErrorCode.FEA_BATCH_REVIEW_ERROR, "可研评审失败！");
		msg.put(ErrorCode.FEA_BATCH_APPROVAL_ERROR, "可研批复失败！");
		msg.put(ErrorCode.FEA_BATCH_SAVE_ERROR, "可研批次库保存失败！");
		msg.put(ErrorCode.FEA_BATCH_INVEST_CHECK_ERROR, "该批次未分配可研投资或下级批次可研投资之和不能超过该批次可研投资！");
		msg.put(ErrorCode.FEA_BATCH_NAME_ERROR, "批次名称重复！");
		msg.put(ErrorCode.FEA_BATCH_SUBMIT_INVEST_ERROR, "该批次未分配可研投资或上报项目的动态投资之和大于批次可研投资，不能执行可研上报操作！");
		msg.put(ErrorCode.FEA_BATCH_TRANSMIT_INVEST_ERROR, "没有为下级分配可研投资，不能执行下达操作！");
		msg.put(ErrorCode.FEA_BATCH_TRANSMIT_NO_PROJECT_ERROR, "批次中没有前期项目，不能执行可研上报操作！");
		msg.put(ErrorCode.FEA_BATCH_REVIEW_NO_PROJECT_ERROR, "批次中没有可研上报的前期项目，不能执行可研评审操作！");
		msg.put(ErrorCode.FEA_BATCH_APPROVAL_NO_PROJECT_ERROR, "批次中没有可研评审的前期项目，不能执行可研批复操作！");
		msg.put(ErrorCode.FEA_BATCH_SUBMIT_STUDY_ERROR, "项目动态投资或可研上报节点没有填写完整，不能执行可研上报操作！");
		msg.put(ErrorCode.FEA_BATCH_SUBMIT_PARENT_ERROR, "上级批次库已可研评审或批复，不能执行可研上报操作！");
		msg.put(ErrorCode.FEA_BATCH_REVIEW_PARENT_ERROR, "上级批次库已可研批复，不能执行可研评审操作！");
		msg.put(ErrorCode.FEA_BATCH_TRANSMIT_PARENT_ERROR, "上级批次库已可研评审或批复，不能执行下达操作！");
		msg.put(ErrorCode.FEA_BATCH_RETURN_ERROR, "上级批次库已可研评审，不能执行退回操作！");
		msg.put(ErrorCode.FEA_BATCH_RETURN_APPROVAL_ERROR, "上级批次库已可研批复，不能执行退回操作！");
	}

	public static String get(int errorCode) {
		return msg.get(errorCode);
	}

	public static Map<Integer, String> getMessages() {
		return msg;
	}
}
